Estrazione del testo Giapponese
Se stai provando a tradurre un gioco grande con molto testo (o forse i tuoi poveri traduttori non vogliono scandagliare
la ROM per il testo...) allora le seguenti info potrebbero aiutarti ad accellerare le cose. L'idea
è passare tutto il testo in un file pronto per la traduzione.
Ma prima dovrai esaurirti nella ricerca di dove e come il testo è conservato.
Prima di leggere il seguente, ti conviene sapere che io sto preparando per te
una versione ridotta del mio dumper di testo per Dragon Quest 6.
Questo dovrebbe renderti le cose molto più semplici per scrivere il tuo personale (basta modificare il mio!)
Scarica Example Text Dumper
Passo
1: Sii certo di poter visualizzare i caratteri giapponesi
Questo è un po' ovvio, ma forse tu potresti ancora non avere il software per far ciò. Io uso NJWin v1.5 (NJStar's CJK
Multilingual Support System!). Scaricalo
The NJStar Web Page.
Non ti preoccupare, è un free/shareware. Appena scaricato, installalo e
ritorna su queste pagine. Il seguente testo è in formato EUC-JIS.
Se guardi questa pagina con NJWin avviato in modalità Giapponese EUC-JIS,
il testo dovrebbe apparire come nell'immagine sottostante:
¤ª¤³¤Î¤ß¤Î ¤Ò¤ç¤¦¤¸¤½¤¯¤É¤Ï¡©
|
|
Passo 2: Estrarre il testo come numeri di tile
Questo non è ancora necessario, ma ho ritenuto che una pausa di programmazione ti possa
aiutare. Qui c'è uno pseudo-codice che
la tua programmazione dovrebbe fare (dovresti conoscere già dove è il testo della ROM):
for i=*posizione iniziale testo* to *posizione finale testo*
j=ROM[i]
if j=*byte di fine stringa*
printf("Fine stringa\n")
else
printf("%02x",j)
endif
next i
Questo è molto basilare, dovrai adattarlo al tuo linguaggio, aprire la ROM per
leggerla. ecc. Continuando, dovresti
consentire di stampare, per renderlo funzionale, la posizione d'inizio nella ROM di
ogni stringa (necessario quando inserisci testo nuovo!).
|
Passo
3: Rappresentazione del testo in formato EUC-JIS
Ok, se il passo 2 ti ha creato agitazione, in ogni caso dovresti trovare un programma che
estrae tutti i tuoi dati di testo in un file; e l'unica modifica che necessita
è consentirgli di stampare caratteri Giapponesi
anziché un sacco di numeri.
Questa sezione non è certo esaustiva, sto solo offrendo alcune informazioni.
Non so molto dell' EUC-JIS, ma sembra usare 2 byte
per ogni carattere Giapponese. Molti word processor giapponesi leggono tale formato,
non solo i prodotti NJStar. Comunque, ho scoperto che ogni byte più alto
0xA1 seguito da un altro byte più alto di 0xA1 sembra venire convertito
in caratteri EUC-JIS giapponesi o cinesi. Mmm...
|
Passo
4: Convertire
il font di gioco
a
EUC-JIS
Ciò che ci serve è far capire al nostro programma che il carattere giapponese è rappresentato
da un dato numero, in modo da stampare il carattere e non quest'ultimo. Per far ciò, crea
un file di testo contenente il font in formato EUC-JIS. Ad esempio, per
Dragon Quest 6, c'è il font l'8x8 e la versione testuale del EUC-JIS
E' stata creata per questo:
00 £°£±£²£³£´£µ£¶£·£¸£¹£È£Í£Ð£Ç¤¢¤¤¤¦¤¨¤ª¤«¤¤¯¤±¤³¤µ¤·¤¹¤»¤½¤¿
¤Á¤Ä¤Æ¤È¤Ê¤Ë¤Ì¤Í¤Î¤Ï¤Ò¤Õ¤Ø¤Û¤Þ¤ß¤à¤á¤â¤ä¤æ¤è¤é¤ê¤ë¤ì¤í¤ï¤ò¤ó¤Ã¤ã
¤å¤ç¥¢¥¤¥¦¥¨¥ª¥«¥¥¯¥±¥³¥µ¥·¥¹¥»¥½¥¿¥Á¥Ä¥Æ¥È¥Ê¥Ë¥Ì¥Í¥Î¥Ï¥Ò¥Õ¥Ø¥Û
¥Þ¥ß¥à¥á¥â¥ä¥æ¥è¥é¥ê¥ë¥ì¥í¥ï¥ò¥ó¥Ã¥ã¥å¥ç¥¡¥£¥§¥©°ì¡©¡ª¢§>>¢ª¡£¡¥
¡Ö¡Ä¡¿????¡§ExLv¡½¡ö??¡¥£Á£Â£Ã£Ä£Å£Æ£Ç£È£É£Ê£Ë£Ì£Í£Î£Ï£Ð£Ñ£Ò£Ó£Ô
£Õ£Ö£×£Ø£Ù£Ú??????¡úE ¨®¨¬¨¨·¨¡¨b1b2b3b4b5b6¡Á¡Ü__????bcbdbebf
c0c1c2c3c4c5c6c7c8¤¬¤®¤°¤²¤´¤¶¤¸¤º¤¼¤¾¤À¤Â¤Å¤Ç¤É¤Ð¤Ó¤Ö¤Ù¤Ü¥ô¥¬¥®
¥°¥²¥´¥¶¥¸¥º¥¼¥¾¥À¥Â¥Å¥Ç¥É¥Ð¥Ó¥Ö¥Ù¥Ü¤Ñ¤Ô¤×¤Ú¤Ý¥Ñ¥Ô¥×¥Ú¥Ý¡Á¡Üfeff
Ho lasciato tutti i caratteri, si potrebbe non trovare in EUC-JIS un tipo '??'.
Inoltre sono stati inseriti tutti i caratteri apparentemente
inutilizzati con i loro rispettivi valori-Tile in esadecimale. Infatti, si è visto dopo che alcuni dei presunti valori inutilizzati venivano usati
per caratteri 'speciali ' (come quelli con le virgolette negli angoli in
alto a destra). Prima di avviare una simile operazione, è necessario avere
un testo in EUC-JIS da cui carpirne i caratteri (salvo che tu non abbia una
tastiera giapponese !?). Salva questa pagina e fai copia/incolla dei
caratteri del testo sottostante in EUC-JIS. Se si ha bisogno di più
caratteri in questa guida troverete il font dei caratteri di Mana2
in formato EUC-JIS (uno speciale ringraziamento a SoM2Freak che è stato il
principale artefice di questo font :) ). Questo font ha un enorme varietà
di caratteri, dovresti riscontrarvi la stragrande maggioranza dei caratteri
giapponesi che possono servirti:
¡ª¡É¡È¢§¡ó¡Æ¡Ç¡Ê¡Ë¡ö¡Ü¡¤¡½¡¥¡¿£°£±£²£³£´£µ£¶£·£¸£¹¡§¡Ö¡×¡á¡û¡©
¡ü£Á£Â£Ã£Ä£Å£Æ£Ç£È£É£Ê£Ë£Ì£Í£Î£Ï£Ð£Ñ£Ò£Ó£Ô£Õ£Ö£×£Ø£Ù£Ú¡ß¡Ä»þ·îÆü
¡Á£á£â£ã£ä£å£æ£ç£è£é£ê£ë£ì£í£î£ï£ð£ñ£ò£ó£ô£õ£ö£÷£ø£ù£ú¡¢¡£¡¼¡ú¤¢
¤¤¤¦¤¨¤ª¤«¤¤¯¤±¤³¤µ¤·¤¹¤»¤½¤¿¤Á¤Ä¤Æ¤È¤Ê¤Ë¤Ì¤Í¤Î¤Ï¤Ò¤Õ¤Ø¤Û¤Þ¤ß¤à
¤á¤â¤ä¤æ¤è¤é¤ê¤ë¤ì¤í¤ï¤ò¤ó¤Ã¤ã¤å¤ç¤¡¤£¤¥¤§¤©¥Ã¥ã¥å¥ç¥¡¥£¥¥¥§¥©¥¢
¥¤¥¦¥¨¥ª¥«¥¥¯¥±¥³¥µ¥·¥¹¥»¥½¥¿¥Á¥Ä¥Æ¥È¥Ê¥Ë¥Ì¥Í¥Î¥Ï¥Ò¥Õ¥Ø¥Û¥Þ¥ß¥à
¥á¥â¥ä¥æ¥è¥é¥ê¥ë¥ì¥í¥ï¥ò¥ó¤¬¤®¤°¤²¤´¤¶¤¸¤º¤¼¤¾¤À¤Â¤Å¤Ç¤É¤Ð¤Ó¤Ö¤Ù
¤Ü¥¬¥®¥°¥²¥´¥¶¥¸¥º¥¼¥¾¥À¥Â¥Å¥Ç¥É¥Ð¥Ó¥Ö¥Ù¥Ü¥ô¤Ñ¤Ô¤×¤Ú¤Ý¥Ñ¥Ô¥×¥Ú¥Ý
¡Ø²¦¿ÍËâÍͽùԽ÷»ä¸÷Ë¡ ¹ñ¸«À»Îϻʺ×ÅÔ·õ´Ö»Òʼ½Ð¿À¹¶¼êÉ÷Âç¾ëŨ»Õ
Êý±ÑÆþÍºÃæÄ®³¦Æ³²¿ÊìÃϲлȼÔʹÀº»×»àãÀ¤Á°ÂÔÃËÌ뵤¸À»öÊѹÈÃβóº£
À¸ÌܻΡٶá·âÎîÏ¡·¢Á¥Æ¶Æ»²ñ¶â°èºÇ¾å²¼ÀïÈ÷ÉðÌ¿²°´ï¼öÂìÉãÍè¹Á»Ô¿´Áü
ÉüÌÀÁõÅðÌô°¿åÍÑÍý°ì³«¶ô½ÑÃçÏñει¶¯¼«¼é¾óÉÔ²¡¿¹Â¼Æ°°Ç¸¶ÃÄ̾·³
½É¾¤¿¯¿ÈÂåÆâʬµÞ»¦»ÂÀÐÄêÅÂɬÎΡ¦°á´¸Å»ÏÀÁ´Ã¯ÅÁÅÚËܰʲ«¸å¹õ¹þºÉ
»³»ý¼º¾ì¿ÆÀèÄÌ¡¹±ê³°´Ûµ³¶õÂÎæËÉÌÚͿΩÎö¹â¼ù¾¦¾Ã¿¿ÁáÁðÉôÍîµÙ¶µ¶¶
·ê¼Ù¼ç¾¡¿®ÀâÀêÁªÁäÄïÅ·ÊõË´Ìá²½¶¡¶ä·ìºÆ»Ä»ß½êÀûÃåÆ·Ç½ÈëÊÅÊֱƲֲæ
´é·»·è·ë¸ò¸ý½õƱÇòɹÉÊÉõÍ×ϴϵ¢ª°Â°Å°Ï±¿²ç´¹µ»µã¶È¶ñ·Á¸µ¸Æ¸Ð¸æº¬
º½ºî¼ó¼þ¾¯ÀãÁö°¾ëÄëÅêÆÇɱ̴Íë΢ή°õ²»²È¸¸¸Ë¿²À×ÀßÁÒŪƮÆÍÈôÊÉ
˹̼ÌÇÌýͳ¡Ú¡Û°¦±©±ü³¤³Æ³×µ¢¶Ì·ú¸Ï¸þ¹Í¼Â¼ã¼ï¿·À¼Áè³ÄÉÅÙÆ¨ÇÈÈàɽ
ÉéʪˤËÌÌ£ÌÌÍ§ÎØ°ä´íµö¶»¶Ø¸º¸½¹çºò¼£½ª½»½â½é½ñÀ±À¾ÀÎñĺÅìÅöƬǦ
Ç®ÇäÈÞɴʸ˾Ëå̵̩̲ÍÃÍÅÍðÎäÎõÏ¢¡Î¡Ï°Û²¾²Ã²Ä²ò³¹³Ù´¨´¶´äµ¡µÓµØµî
µù¶Ë·Ã·ý¸¤¹¥¹¦º¢ºß»Ñ»å¼¡¼è¾®¿ôÀÄÀÖÀÚÁÛÁý©ÂÂÐÂÓÂâĹľÄìÅ´ÆîÆñÇÛ
ȯȴȾÈòÊÄÊü̸ÌÂÌîλÎí¢«¢°ã°æ±¦±«±ó²ø´¬´Ø´ß´üµÛµÜµð¶ì·¯·Ï¸¸Í¸î
¹Ò¹ß»ú¼¨¼¼¼Þ¼å¼õ½¸½½¾ï¾ð¾þ¿§¿Ê¿Ë¿ØÀªÀ®ÁêÁ÷Áþ²ÂÇÂàûÃÊÃÍÃëīĴÅÜ
ÅÝÅãÆÉÆæÈ¿ÈéÉÂÉÏÉñʮʿÊÌÊÕÌ¤Í¦ÍøÎ¨Î¾ÎÞ¢¬°¤°Ì°Õ±Õ²Ù³²³Ê³Ð´°´±´À´õ
Èþµ®¸øÃµÎÉÍÔµ¯¾èÅ纲ͩǰ´ã³èĶÇì¼ßÂĵ߶¦²ÌÃÇ˺ǯ¸úº¤Â¸Í½Á³»Å¿Æó
¿¢ÀäÂÖÈáÏǶ²¸±¼ÎÀÅÍİú¼ýÅÓȪÍãϵÒÄíÆÀÇÔÇãÇñÌòϹ¤ɤÍÏ©°é²þµÑ
µÕ¿¼¿áÃÙÄÁÎá±Ê²á³¬·Ñ¹ï»Ù¾õ¿©ÈÄÎéÏ··¸¸³½Å¾Ú´³ÀøÂ¦Â¹ÃÈȢʴÊèÍßÎÐÎø
°÷³ØµµÁ¶§·Ð·ç¸ç¹¬º¸ºÒ»¶»º½¤ÀµÀÃÁÇÂÀÅ«Å¹Æ©ÇØÇÞÇúÊâËöÌðÎÓÎãµÝ¸ì¹¹
¹Óºá¼ª½Ë¾¾½¾Ý¾Þ¿¨À£ÀþÁÏÄãžÅýÉúÌçÎýÏ«°Ü±ß²¸²¹³¥¶¶¸·ï¸¢¸¼¸×»Þ»ï
¼Í¼ë½µ½ã½è½ü¾º¾×¿ýÀ©Á±ÁÎÁãÃÆÅÀÅàÇËÇÏÇÕȱ˦Ëç̱ÌÊÌÓÌÔÍå±í±ö²µ²è´§
µå·º¸¨¸õ¸ù¹áºÌ¼À¼Ø½¾¾¢¾²¾ô¿ÞÁ¬Á®Ã¢Ä»ÅáÉÍͼÍËÍÕÍÛÍòΤηÎ×
|
Passo
5: Adattare
il tuo
codice
per
usare
i dati EUC-JIS
Se hai già fatto
quanto alla sezione 2 ed hai quindi il tuo codice operativo, questa sezione
sarà meno dolorosa. Di base, devi solo aggiungere un po' di codice per
caricare il testo creato come nel passo 4 e sostituire il codice che stampa
il valore del carattere con uno che mostra i caratteri principali giapponesi
dal file di testo EUC-JIS. Ricordarsi sempre che ogni carattere EUC-JIS
occupa 2 byte, cosìcchè probabilmente dovresti avere qualcosa del genere:
if j=*byte fine stringa*
print "Fine stringa"
else
k=EUCfile[(j*2)]
print asc(k)
k=EUCfile[(j*2)+1]
print asc(k)
endif
|
|